package base

import (
	"bytes"
	"fmt"
)

func UserBytesBuffer() {
	// 直接定义一个Buffer变量，不用初始化，可以直接使用
	var b bytes.Buffer

	// 往buffer中写入数据
	b.Write([]byte{1,2,3})
	fmt.Println("buffer 写入数据", []byte{1,2,3})

	// 读取数据第一个byte
	r,err := b.ReadByte()
	if err != nil {
		fmt.Println("buffer 读取第一个byte数据错误", err)
	}
	fmt.Println("buffer 读取第一个byte数据", r)

	// 写入string
	b.WriteString("hh")
	fmt.Println("buffer 写入string数据", "hh")

	// 读取n 个byte
	r1 := b.Next(2)
	fmt.Println("buffer 写入数据", r1)

	// 获取长度
	fmt.Println("buffer 获取长度", b.Len())
	fmt.Println("buffer 获取容量", b.Cap())

	// 重置
	b.Reset()
}